// Author	: damphat@gmail.com
// Created	: 01/12/2008

#pragma once
#include "vn/IOCommon.h"
#include "vn/Stream.h"


IO_BEGIN

class NullStream : public Stream {
public:
	virtual StmLen	Read (Buf8 *buf,		StmLen len) { return 0; }
	virtual void	Write(const Buf8 *buf,	StmLen len) { }

	virtual StmPos	Seek(StmOff offset, SeekOrigin origin) { return 0; }
	virtual void	Flush()	{ }
	virtual void	Close()	{ }

	virtual bool	CanRead()  { return true; }
	virtual bool	CanWrite() { return true; }
	virtual bool	CanSeek()  { return true; }

	virtual StmPos	GetPosition()			{ return 0; }
	virtual void	SetPosition(StmPos pos)	{ }

	virtual StmLen	GetLength()				{ return 0; }
	virtual void	SetLength(StmLen len)	{ }

	virtual ~NullStream() {
	}
};

IO_END
